// 存储于localstorage的key
export enum StorageKey {
  recentProjects = "recentProjects", // 最近打开的项目
  project = "project", // 浏览器环境下，本地localstorage存储的项目，ke后拼接==projectId，
  recentSelectTemplate = "recentSelectTemplate", // 最近选择的模板
  matlabPath = "matlabPath", // matlab 安装目录
  matlabVersion = "matlabVersion", // matlab 安装版本
  matlabSuccess = "matlabSuccess", // matlab 是否同步
  dodafPath = "dodafPath", // dodafPath 安装目录
  token = "token",
  user = "user",
  exportImageInfo = "exportImageInfo",
  localSSOcoworkBaseURL = "coworkBaseURL", // 探月中心统一登录协同地址配置
  referenceLineConfig = "referenceLineConfig", // 参考线配置
  onlineProjects = "onlineProjects", // 下载过的远程项目
  serverAddressHistoryList = "serverAddressHistoryList", // 服务器的历史记录
  userHistoryList = "userHistoryList", // 用户名的历史记录
  reqMap = "reqMap", // 要更新的需求
  useBackup = "useBackup", // 是否启用备份
  consoleLog = "consoleLog", // 是否启用备份
  backupInterval = "backupInterval", // 自动备份时间间隔
  appVersion = "appVersion", // 软件版本，用于新版本启动时能够知道之前安装的软件是什么版本，然后进行一些升级处理
  licenseType = "licenseType",
  licenseState = "licenseState",
  simSilent = "simSilent", // 仿真是否需要动画
  simAutoStart = "simAutoStart", // 仿真相当于直接运行仿真
  simAutostartActiveObjects = "simAutostartActiveObjects", // 仿真在初始化的时候，识别出所有的行为分类器中的行为
  simFumlDecision = "simFumlDecision", // 仿真决定的时候，用fUML的语义
  matrixWidth = "matrixWidth", // 矩阵宽度
  matrixHeight = "matrixHeight", // 矩阵高度
  mainWindowHeight = "mainWindowHeight", // 主窗口高度
  projectInitPath = "projectInitPath",
  ignoredPackageVersion = "ignoredPackageVersion", // 忽略的安装包版本
  latestVersionPackage = "latestVersionPackage",
  latestVisitedLinkTab = "latestVisitedLinkTab", // 新增超链接窗口记住最近一次打开的tab
  historyLinkedModelIds = "historyLinkedModelIds", // 超链接：历史超链接过的模型id
  historyLinkedFiles = "historyLinkedFiles", // 超链接：历史超链接过的文件路径
  historyLinkedUrls = "historyLinkedUrls", // 超链接：历史超链接过的url
  historyLocalImages = "historyLocalImages", // 富文本：历史本地图片路径
  coworkRollbackTips = "coworkRollbackTips", // 不是当前项目的回退记录
  coworkForceUnLock = "coworkForceUnLock", // 强制解锁
  ignoreLicenseExpiredDay = "ignoreLicenseExpiredDay", // 记录当日不再提醒的日期
  modelLibImported = "modelLibImported", // 记录已经导入的模型库
  currentZoomFactor = "currentZoomFactor", // 记录当前客户端的缩放因数
  lastExportSavePath = "lastExportSavePath", // 记录当前客户端的最后文档生成位置
  attributeShowLevel = "attributeShowLevel",
  customColumnNode = "customColumnNode", // 表格自定义列保存
  startTime = "startTime", // 客户端启动时间
  enableCheckModelError = "enableCheckModelError",
  reliabilityFMEASerialize = "reliabilityFMEASerialize", // 可靠性FMEA序列化
  developerMode = "developerMode",
  limitSize = "limitSize",
  projectMergePath = "projectMergePath",
  ElementSyncErrorTips = "ElementSyncErrorTips",
  locale = "locale",
  recentImageId = "recentImageId",
  imageLibraryExpandedDir = "imageLibraryExpandedDir",
  diagramScale = "diagramScale",
  EWXHost = "EWXHost", // 未尔EWX host
  EWXPort = "EWXPort", // 未尔EWX port
  archFor201SavePath = "archFor201SavePath",
  ChinaSouthZYInfo = "ChinaSouthZYInfo",
  FHJSSolutionCode = "FHJSSolutionCode",
  FHJSToken = "FHJSToken",
  token201 = "token201",
  terminology = "terminology",
  exportImageCheckList = "exportImageCheckList", //
  dataHubConfig = "dataHubConfig", // 数据管理配置
  asytLoginMode = "asytLoginMode",
  /** 属性选择弹窗临时保存数据，做数据传输媒介 */
  propertySelectTempData = "propertySelectTempData",
  /**
   * 模型校验配置
   */
  modelValidConfig = "modelValidConfig",
  /**
   * 验证面板历史记录
   */
  validPaneHistory = "validPaneHistory",
  activeShapeTool = "activeShapeTool",
  suppressOnceEdgeWaypointUpdate = "suppressOnceEdgeWaypointUpdate"
}

export function getUserConfigKey(userId: number | string) {
  return ("userConfig-" + userId) as StorageKey;
}
